import torch

"""
pytorch中就地操作：直接修改张量自身数据或属性，不创建新张量的操作，函数名通常以_结尾。
eg：detach_() reshape_() add_()
就地操作的本质：操作前后张量内存地址不变，直接覆盖原始数据，避免新内存分配，可节省内存
但是要注意的是：
1. 会破坏计算图的完整性，若后续需要反向传播，可能会导致梯度计算错误或失效
"""

x = torch.tensor([1, 2])
x.add(3)
print(x)

y = x.add(3)
print(y)

x.add_(3)
print(x)